From ce6569d1a670a9b2ae03d72c2f22cd9019cf38a6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 4 May 2023 22:30:12 -0400 Subject: [PATCH] gsk: Avoid some offscreens We don't have to be too conservative when checking if a rect is contained in a rounded rect, we have a precise api for this. --- gsk/gl/gskglrenderjob.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index 7fa6408fc2..dc1be07d98 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -1750,22 +1750,13 @@ gsk_gl_render_job_visit_rounded_clip_node (GskGLRenderJob *job, if (job->clip->len <= 1) need_offscreen = FALSE; - else if (rounded_inner_rect_contains_rect (&job->current_clip->rect, &transformed_clip.bounds)) + else if (gsk_rounded_rect_contains_rect (&job->current_clip->rect, &transformed_clip.bounds)) need_offscreen = FALSE; else need_offscreen = TRUE; if (!need_offscreen) { - /* If the new clip entirely contains the current clip, the intersection is simply - * the current clip, so we can ignore the new one. - */ - if (rounded_inner_rect_contains_rect (&transformed_clip, &job->current_clip->rect.bounds)) - { - gsk_gl_render_job_visit_node (job, child); - return; - } - gsk_gl_render_job_push_clip (job, &transformed_clip); gsk_gl_render_job_visit_node (job, child); gsk_gl_render_job_pop_clip (job); -- 2.30.2